package 算法提高;/**
 * @author： li
 * @date： 2022-01-20 14:33
 * @version 1.0
 */
/*问题描述
　　给定一些字符串(只包含小写字母)，要求将他们串起来构成一个字典序最小的字符串。
输入格式
　　第一行T,表示有T组数据。
　　接下来T组数据
　　每组第一行一个正整数n，表示字符串个数。
　　接下来n行，每行一个字符串(长度不超过100)。
输出格式
　　T行，每行一个字符串。
样例输入
1
3
a
b
c
样例输出
abc
数据规模和约定
　　T<=7000，n<=100；
 */

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class 最小字符串_比较器 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n;//T组数据
        int m;//每组的整数个数
        String[] s =new String[100];
        n =sc.nextInt();
        for(int i=1;i<=n;i++) {
            m=sc.nextInt();
           for(int j=0;j<m;j++){
               s[j]=sc.next();
           }
           //两种写法
//            Arrays.sort(s,0,m,(o1, o2) -> (o1+o2).compareTo(o2+o1));
            Arrays.sort(s, 0, m, new Comparator<String>() {
                @Override
                public int compare(String o1, String o2) {
                    return (o1+o2).compareTo(o2+o1);
                }
            });
           for(int k=0;k<m;k++)
               System.out.print(s[k]);
            System.out.println(" ");
        }
    }
}
